package com.ruoyi.rycc.domain;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.rycc.core.serialize.DecimalSerializer;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 课程管理对象 cc_course
 *
 * @author antg
 * @date 2021-09-04
 */
public class CcCourse extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 表id
     */
    private Integer id;

    /**
     * 课程标题
     */
    @Excel(name = "课程标题")
    private String courseName;

    /**
     * 课程副标题
     */
    private String courseSubtitle;

    /**
     * 课程简介
     */
    private String courseIntro;

    /**
     * 课程难度
     */
    private Integer courseDifficulty;

    /**
     * 是否打折
     */
    @Excel(name = "是否打折")
    private String courseIfDicount;

    /**
     * 打折描述
     */
    @Excel(name = "打折描述")
    private String courseDiscountRemark;

    /**
     * 商品价格
     */
    @Excel(name = "商品价格")
    @JsonSerialize(using = DecimalSerializer.class)
    private BigDecimal courseOriginalPrice;

    /**
     * 排序
     */
    private Integer courseSort;

    /**
     * 折后价
     */
    @Excel(name = "折后价")
    @JsonSerialize(using = DecimalSerializer.class)
    private BigDecimal courseDicountPrice;

    /**
     * 是否轮播
     */
    private String courseIfShuffling;

    /**
     * 是否精品推荐
     */
    private String courseIfBoutique;

    /**
     * 是否免费
     */
    @Excel(name = "是否免费")
    private String courseIfFree;

    /**
     * 是否对外
     */
    @Excel(name = "是否对外")
    private String courseIfForeign;

    /**
     * 封面
     */
    private String courseCover;

    /**
     * 轮播图
     */
    private String courseShuffling;

    /**
     * pc端轮播图
     */
    private String coursePcShuffling;

    /**
     * 是否展示详情
     */
    private String courseIfDetail;

    /**
     * 播放量
     */
    private Integer courseViewCount;

    /**
     * 上线状态
     */
    private String courseOnlineState;

    /**
     * 删除人
     */
    private String delBy;

    /**
     * 删除时间
     */
    private Date delTime;

    /**
     * 删除标志
     */
    private String delState;

    /**
     * 关联字段,专题id
     */
    private String subjectIds;

    /**
     * 查询字段,专题名称
     */
    private Integer subjectId;

    public Integer getSubjectId() {
        return subjectId;
    }

    public void setSubjectId(Integer subjectId) {
        this.subjectId = subjectId;
    }

    public String getSubjectIds() {
        return subjectIds;
    }

    public void setSubjectIds(String subjectIds) {
        this.subjectIds = subjectIds;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getId() {
        return id;
    }

    public void setCourseName(String courseName) {
        this.courseName = courseName;
    }

    public String getCourseName() {
        return courseName;
    }

    public void setCourseSubtitle(String courseSubtitle) {
        this.courseSubtitle = courseSubtitle;
    }

    public String getCourseSubtitle() {
        return courseSubtitle;
    }

    public void setCourseIntro(String courseIntro) {
        this.courseIntro = courseIntro;
    }

    public String getCourseIntro() {
        return courseIntro;
    }

    public void setCourseDifficulty(Integer courseDifficulty) {
        this.courseDifficulty = courseDifficulty;
    }

    public Integer getCourseDifficulty() {
        return courseDifficulty;
    }

    public void setCourseIfDicount(String courseIfDicount) {
        this.courseIfDicount = courseIfDicount;
    }

    public String getCourseIfDicount() {
        return courseIfDicount;
    }

    public void setCourseDiscountRemark(String courseDiscountRemark) {
        this.courseDiscountRemark = courseDiscountRemark;
    }

    public String getCourseDiscountRemark() {
        return courseDiscountRemark;
    }

    public void setCourseOriginalPrice(BigDecimal courseOriginalPrice) {
        this.courseOriginalPrice = courseOriginalPrice;
    }

    public BigDecimal getCourseOriginalPrice() {
        return courseOriginalPrice;
    }

    public void setCourseSort(Integer courseSort) {
        this.courseSort = courseSort;
    }

    public Integer getCourseSort() {
        return courseSort;
    }

    public void setCourseDicountPrice(BigDecimal courseDicountPrice) {
        this.courseDicountPrice = courseDicountPrice;
    }

    public BigDecimal getCourseDicountPrice() {
        return courseDicountPrice;
    }

    public void setCourseIfShuffling(String courseIfShuffling) {
        this.courseIfShuffling = courseIfShuffling;
    }

    public String getCourseIfShuffling() {
        return courseIfShuffling;
    }

    public void setCourseIfBoutique(String courseIfBoutique) {
        this.courseIfBoutique = courseIfBoutique;
    }

    public String getCourseIfBoutique() {
        return courseIfBoutique;
    }

    public void setCourseIfFree(String courseIfFree) {
        this.courseIfFree = courseIfFree;
    }

    public String getCourseIfFree() {
        return courseIfFree;
    }

    public void setCourseIfForeign(String courseIfForeign) {
        this.courseIfForeign = courseIfForeign;
    }

    public String getCourseIfForeign() {
        return courseIfForeign;
    }

    public void setCourseCover(String courseCover) {
        this.courseCover = courseCover;
    }

    public String getCourseCover() {
        return courseCover;
    }

    public void setCourseShuffling(String courseShuffling) {
        this.courseShuffling = courseShuffling;
    }

    public String getCourseShuffling() {
        return courseShuffling;
    }

    public void setCoursePcShuffling(String coursePcShuffling) {
        this.coursePcShuffling = coursePcShuffling;
    }

    public String getCoursePcShuffling() {
        return coursePcShuffling;
    }

    public void setCourseIfDetail(String courseIfDetail) {
        this.courseIfDetail = courseIfDetail;
    }

    public String getCourseIfDetail() {
        return courseIfDetail;
    }

    public void setCourseViewCount(Integer courseViewCount) {
        this.courseViewCount = courseViewCount;
    }

    public Integer getCourseViewCount() {
        return courseViewCount;
    }

    public void setCourseOnlineState(String courseOnlineState) {
        this.courseOnlineState = courseOnlineState;
    }

    public String getCourseOnlineState() {
        return courseOnlineState;
    }

    public void setDelBy(String delBy) {
        this.delBy = delBy;
    }

    public String getDelBy() {
        return delBy;
    }

    public void setDelTime(Date delTime) {
        this.delTime = delTime;
    }

    public Date getDelTime() {
        return delTime;
    }

    public void setDelState(String delState) {
        this.delState = delState;
    }

    public String getDelState() {
        return delState;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("courseName", getCourseName())
                .append("courseSubtitle", getCourseSubtitle())
                .append("courseIntro", getCourseIntro())
                .append("courseDifficulty", getCourseDifficulty())
                .append("courseIfDicount", getCourseIfDicount())
                .append("courseDiscountRemark", getCourseDiscountRemark())
                .append("courseOriginalPrice", getCourseOriginalPrice())
                .append("courseSort", getCourseSort())
                .append("courseDicountPrice", getCourseDicountPrice())
                .append("courseIfShuffling", getCourseIfShuffling())
                .append("courseIfBoutique", getCourseIfBoutique())
                .append("courseIfFree", getCourseIfFree())
                .append("courseIfForeign", getCourseIfForeign())
                .append("courseCover", getCourseCover())
                .append("courseShuffling", getCourseShuffling())
                .append("coursePcShuffling", getCoursePcShuffling())
                .append("courseIfDetail", getCourseIfDetail())
                .append("courseViewCount", getCourseViewCount())
                .append("courseOnlineState", getCourseOnlineState())
                .append("remark", getRemark())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("delBy", getDelBy())
                .append("delTime", getDelTime())
                .append("delState", getDelState())
                .toString();
    }
}
